package com.ww.design.pattern.decorator.model;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Setter
@Getter
public class RepayScheduleDtlsDTO implements Serializable {

    private static final long serialVersionUID = -8386138490157318829L;

    /**
     * 期数号
     */
    private Integer instalNo;

    /**
     * 本期状态
     */
    private Integer dtlsStatus;

    // ==================实际应还==================
    /**
     * 本金
     */
    private BigDecimal actualShouldPrincAmt;

    /**
     * 纯利息
     */
    private BigDecimal actualShouldPureInterestAmt;

    /**
     * 纯利息 + 资方担保 + 担保咨询费
     */
    private BigDecimal actualShouldInterestAmt;

    /**
     * 资方担保
     */
    private BigDecimal actualShouldGuaranteeAmt;

    /**
     * 担保咨询费
     */
    private BigDecimal actualShouldXxyGuaranteeAmt;

    /**
     * 提前结清违约金
     */
    private BigDecimal actualShouldFeeAmt;

    /**
     * 本金罚息
     */
    private BigDecimal actualShouldInterestPenaltyAmt;

    /**
     * 资方担保罚息
     */
    private BigDecimal actualShouldGuaranteePenaltyAmt;

    /**
     * 罚金
     */
    private BigDecimal actualShouldPenalty;
    // ==================实还==================
    /**
     * 总金额
     */
    private BigDecimal actualRepayTotalAmt;

    /**
     * 本金
     */
    private BigDecimal actualRepayPrinAmt;

    /**
     * 纯利息
     */
    private BigDecimal actualRepayPureInterestAmt;

    /**
     * 资方担保
     */
    private BigDecimal actualRepayGuaranteeAmt;

    /**
     * 担保咨询费
     */
    private BigDecimal actualRepayXxyGuaranteeAmt;

    /**
     * 提前结清违约金
     */
    private BigDecimal actualRepayFeeAmt;

    /**
     * 本金罚息
     */
    private BigDecimal actualRepayInterestPenaltyAmt;

    /**
     * 资方担保罚息
     */
    private BigDecimal actualRepayGuaranteePenaltyAmt;

    /**
     * 罚金
     */
    private BigDecimal actualRepayFineAmt;

    /**
     * 实还时间
     */
    private Date repayDate;
    // ==================减免==================
    /**
     * 纯利息
     */
    private BigDecimal remitPureInterestAmt;

    /**
     * 资方担保
     */
    private BigDecimal remitGuaranteeAmt;

    /**
     * 担保咨询费
     */
    private BigDecimal remitXxyGuaranteeAmt;

    /**
     * 提前结清违约金
     */
    private BigDecimal remitFeeAmt;

    /**
     * 本金罚息
     */
    private BigDecimal remitPayInterestPenaltyAmt;

    /**
     * 资方担保罚息
     */
    private BigDecimal remitPayGuaranteePenaltyAmt;

    /**
     * 罚金
     */
    private BigDecimal remitFineAmt;

}